

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HRuleExample(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HRuleExample.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HRuleExample, self).__init__(name='HRuleExample', num_nodes=22, edges=[])
        
        # Add the edges
        self.add_edges([(13, 0), (0, 1), (5, 14), (14, 10), (5, 15), (15, 7), (5, 16), (16, 11), (5, 17), (17, 3), (21, 1), (10, 8), (8, 7), (11, 9), (9, 3), (2, 18), (2, 19), (2, 20), (2, 21), (12, 4), (4, 6), (18, 12), (19, 6), (20, 13)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """RuleExample"""
        self["GUID__"] = UUID('09c8cd85-11f9-4c1e-9aae-5eefcd2caba3')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """directLink_S"""
        self.vs[0]["associationType"] = """t_"""
        self.vs[0]["GUID__"] = UUID('72525203-c65b-4b12-a9c6-20edc802c5b9')
        self.vs[1]["mm__"] = """Female_S"""
        self.vs[1]["classtype"] = """female"""
        self.vs[1]["name"] = """fm1"""
        self.vs[1]["GUID__"] = UUID('7fcbd1ee-298f-48fa-9246-217eea41f846')
        self.vs[2]["mm__"] = """MatchModel"""
        self.vs[2]["GUID__"] = UUID('8fa39583-af2d-45c6-a156-efe5ce403c31')
        self.vs[3]["mm__"] = """Female_T"""
        self.vs[3]["classtype"] = """female"""
        self.vs[3]["name"] = """fa1"""
        self.vs[3]["GUID__"] = UUID('8a813641-202a-4fba-b6e6-1c18c79cc001')
        self.vs[4]["mm__"] = """indirectLink_S"""
        self.vs[4]["GUID__"] = UUID('20a01381-3142-40e9-8d1e-77cc6778a705')
        self.vs[5]["mm__"] = """ApplyModel"""
        self.vs[5]["GUID__"] = UUID('0b066b26-df10-48be-8d96-9269e655ff83')
        self.vs[6]["mm__"] = """Male_S"""
        self.vs[6]["classtype"] = """male"""
        self.vs[6]["name"] = """mm1"""
        self.vs[6]["GUID__"] = UUID('0cba8cb5-1c05-48e6-854c-49d8261c20af')
        self.vs[7]["mm__"] = """Male_T"""
        self.vs[7]["classtype"] = """male"""
        self.vs[7]["name"] = """ma1"""
        self.vs[7]["GUID__"] = UUID('e295b4fe-b577-4ef6-be79-fa9d151fac39')
        self.vs[8]["mm__"] = """directLink_T"""
        self.vs[8]["associationType"] = """t_"""
        self.vs[8]["GUID__"] = UUID('b0075b2e-b01a-4cd9-b68e-3d4afedb547d')
        self.vs[9]["mm__"] = """directLink_T"""
        self.vs[9]["associationType"] = """t_"""
        self.vs[9]["GUID__"] = UUID('8d19e914-c0f6-4f9f-85b2-72d021f7b166')
        self.vs[10]["mm__"] = """Station_T"""
        self.vs[10]["classtype"] = """station"""
        self.vs[10]["name"] = """sa1"""
        self.vs[10]["GUID__"] = UUID('55a1c0d5-8357-4df1-a7db-38e8d37dc02f')
        self.vs[11]["mm__"] = """Station_T"""
        self.vs[11]["classtype"] = """station"""
        self.vs[11]["name"] = """sa2"""
        self.vs[11]["GUID__"] = UUID('5c8113d8-d30a-4a2e-b71d-34e5572b29d4')
        self.vs[12]["mm__"] = """Station_S"""
        self.vs[12]["classtype"] = """station"""
        self.vs[12]["name"] = """sm1"""
        self.vs[12]["GUID__"] = UUID('c1342ac8-bdc1-43b5-a6cc-e328ac582a41')
        self.vs[13]["mm__"] = """Station_S"""
        self.vs[13]["classtype"] = """station"""
        self.vs[13]["name"] = """sm2"""
        self.vs[13]["GUID__"] = UUID('d723f521-f445-43a0-aed2-e7ae5bc4b184')
        self.vs[14]["mm__"] = """apply_contains"""
        self.vs[14]["GUID__"] = UUID('785fbd75-3ace-40fd-a18d-5e866d25110b')
        self.vs[15]["mm__"] = """apply_contains"""
        self.vs[15]["GUID__"] = UUID('f8e935a7-9df6-44a3-a513-b4f19d710eb0')
        self.vs[16]["mm__"] = """apply_contains"""
        self.vs[16]["GUID__"] = UUID('08536694-39b8-4952-8ed0-e226fd9d7fc5')
        self.vs[17]["mm__"] = """apply_contains"""
        self.vs[17]["GUID__"] = UUID('78242b66-3328-4b5b-b0c4-0fd01127156f')
        self.vs[18]["mm__"] = """match_contains"""
        self.vs[18]["GUID__"] = UUID('5391d95c-8ceb-4cfb-ae29-20a51f62aa06')
        self.vs[19]["mm__"] = """match_contains"""
        self.vs[19]["GUID__"] = UUID('668d198e-98f6-4b09-b68c-86f98811e0f6')
        self.vs[20]["mm__"] = """match_contains"""
        self.vs[20]["GUID__"] = UUID('eebadcdf-12a8-4101-a491-5f86cbdbcf70')
        self.vs[21]["mm__"] = """match_contains"""
        self.vs[21]["GUID__"] = UUID('3acf5d7f-e522-4410-bfb7-1266e4b31846')

